#ifndef PRECISION_H
#define PRECISION_H

#include <cfloat>

namespace SimPhy {


/**
  *Defines a real number precision. SimPhy can be compiled
  * in various precision: FLOAT, DOUBLE and LONG_DOUBLE.
  *By default the best precision (LONG_DOUBLE) is provided.
  */
#define LONG_DOUBLE

#ifdef LONG_DOUBLE
typedef long double real;
#define REAL_MAX LDBL_MAX
#endif

#ifdef DOUBLE
typedef double real;
#define REAL_MAX DBL_MAX
#endif

#ifdef FLOAT
typedef float real;
#define REAL_MAX FLT_MAX
#endif


#define R_PI 3.14159265358979323846


}


#endif // PRECISION_H
